Conventionally, many computer applications cannot utilize the full potential of high-speed multi-core processors. This is because of the sequential nature of processing of computer applications. For example, a variety of legacy applications are designed as monolith software applications. The inability to realize the potential of high-speed multi-core processors is further due to high inter-dependence of tasks and also due to circular dependencies among group of tasks. This in effect gives rise to scalability issues. As described herein, a task is a unit of execution or a unit of compute work. A task can also be referred to as a process, lightweight process, thread (for execution), step, request, function call, look up query, etc. Also, there exist many Central Processor Unit (CPU) scheduling techniques such as First Come First Serve (FCFS) scheduling, Shortest-Job-First (SJF) scheduling, Priority scheduling, Round Robin (RR) scheduling, Multilevel Queue scheduling, and the like. However, these techniques do not work on inter-dependencies/circular dependencies between tasks. There are other scheduling techniques which work on inter-dependencies, but they fail to work with circular dependencies and restrict scalability due to a domino effect of dependent tasks.
Examples of computer applications with inter-dependencies/circular dependencies between tasks include network simulation, verification, planning tools, etc. related to networks. For example, in optical (photonic) networks, a computer application can be used to verify a network design, i.e., the validity of photonic links across the network using computationally intense simulations. Further, the time required to complete such computationally intense simulations is exponentially proportional to the size of the network, the number of branches in the network, and the number of optical links to validate. As described above, the inter-dependencies/circular dependencies between tasks cause difficulty in exploiting multi-core processors with such validation applications.